# Darren
# 2025年02月19日09时34分54秒
# 集合 ：去重 无序性，互异性
# 空集
demo_set = set()
demo1_set = {}  # 空字典
print(type(demo1_set))
# 定义
vegetables_set = {"potatoes", "tomatoes"}
# 增加
fruit = set()
fruit.add("apple")
fruit.add("banana")
y = {"google", "runoob", "apple"}
fruit.update(y)
print(fruit)
# 拷贝(改变地址) 不同于 x=fruit(指向同一块地址)
x = fruit.copy()
print(x)
# 清空
x.clear()
print(x)
# 删除
fruit.discard("apple")
print(fruit)
# 查找  不能通过下标访问
if ("apple" in fruit):
    print(True)
else:
    print(False)
print(len(fruit))  # 集合中元素个数
# 运算
a = set('abracadabra')
b = set('alacazam')
print(f"a集合：{a}")
print(f"b集合：{b}")  # 自动去重
print(a | b)  # 并集
print(a & b)  # 交集
print(b - a)  # 差集
print(a ^ b)  # 元素在a|b中但不在a&b中
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.symmetric_difference(y)  # 返回差集
print(x)  # x不变
print(z)
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
x.symmetric_difference_update(y)  # 在x上直接运算，改变x的值
print(x)
